-- Traceback and warning list test.
-- Put all the ops on, just in case.
with warning
with trace
with profile
-- Can't do profile_time too.
trace(1)

global atom global_ATOM_U
global integer global_INTEGER_U
global sequence global_SEQUENCE_U
global object global_OBJECT_U

global atom global_ATOM
global integer global_INTEGER
global sequence global_SEQUENCE
global object global_OBJECT

atom local_ATOM_U
integer local_INTEGER_U
sequence local_SEQUENCE_U
object local_OBJECT_U

atom local_ATOM
integer local_INTEGER
sequence local_SEQUENCE
object local_OBJECT

procedure check(integer parameter_INTEGER_U, integer parameter_INTEGER)
    atom private_ATOM_U
    integer private_INTEGER_U
    sequence private_SEQUENCE_U
    object private_OBJECT_U

    atom private_ATOM
    integer private_INTEGER
    sequence private_SEQUENCE
    object private_OBJECT

    private_ATOM = 1.0
    private_INTEGER = 1
    private_SEQUENCE = ""
    private_OBJECT = 0

    local_ATOM = 1.0
    local_INTEGER = 1
    local_SEQUENCE = ""
    local_OBJECT = 0

    global_ATOM = 1.0
    global_INTEGER = 1
    global_SEQUENCE = ""
    global_OBJECT = 0

    parameter_INTEGER = 1    
end procedure

check(1, 2)

-- Traceback should mention that all variables with a _U
-- are unused, since they are. The keyword here being 'should'.
-- NOTE :
-- The interpreter currently doesn't catch unused parameters
-- or globals. I will fix that later.

